// 提交链接：https://leetcode.cn/problems/naming-a-company/description/
// lc2306. 公司命名
// 完成日期：2024/9/25
// c++ 哈希表 枚举

class Solution {
public:
    long long distinctNames(vector<string>& ideas) {
        unordered_set<string> S(ideas.begin(),ideas.end());
        int a[26][26] = {0};
        for(string k : ideas)
        {
            int i = k[0] - 'a';
            for(int j = 0; j < 26; ++j)
            {
                k[0] = j + 'a';
                if(!S.count(k))
                    a[i][j]++; 
            }
        }

        long long ans = 0;
        for(string k : ideas)
        {
            int i = k[0] - 'a';
            for(int j = 0; j < 26; ++j)
            {
                k[0] = j + 'a';
                if(!S.count(k))
                    ans += a[j][i];
            }
        }
        return ans;
    }
};